home *** CD-ROM | disk | FTP | other *** search
/ Champak 138 / Volume 138 Aug 19 2011 - Damaged.iso / Games / shadez.swf / scripts / Local / Game / Level / CLevelSpawn.as < prev    next >
Encoding:
Text File  |  2011-08-19  |  5.0 KB  |  176 lines

  1. package Local.Game.Level
  2. {
  3.    import Local.*;
  4.    import Local.Audio.*;
  5.    import Local.Game.HUD.*;
  6.    import Local.Game.Thing.*;
  7.    import Local.Game.World.*;
  8.    import Local.Game.World.Map.*;
  9.    import Local.Game.World.Map.Cell.*;
  10.    import STC9.System.Profiler.*;
  11.    import flash.events.*;
  12.    import flash.geom.*;
  13.    
  14.    public class CLevelSpawn extends EventDispatcher
  15.    {
  16.        
  17.       
  18.       public var mID:String;
  19.       
  20.       public var mStageAmount:int;
  21.       
  22.       private var mSpawnTick:int;
  23.       
  24.       public var mSpawnRate:int;
  25.       
  26.       public var mTotalSpawns:int;
  27.       
  28.       public var mLevel:CLevel;
  29.       
  30.       public var mInitClass:Class;
  31.       
  32.       private var mSpawnPosition:CPosition;
  33.       
  34.       public var mDisposed:Boolean;
  35.       
  36.       private var mTotalCount:int;
  37.       
  38.       private var mStageCount:int;
  39.       
  40.       public function CLevelSpawn(param1:String, param2:Class, param3:int, param4:int, param5:int, param6:CPosition)
  41.       {
  42.          super();
  43.          mID = param1;
  44.          mInitClass = param2;
  45.          mTotalSpawns = param3;
  46.          mStageAmount = param4;
  47.          mSpawnRate = param5;
  48.          mSpawnPosition = param6;
  49.          mSpawnTick = 0;
  50.          mStageCount = 0;
  51.          mTotalCount = 0;
  52.       }
  53.       
  54.       private function e_ENEMY_REACHEDOBJECTIVE(param1:Event = null) : void
  55.       {
  56.          var _loc2_:* = undefined;
  57.          _loc2_ = param1.currentTarget;
  58.          if(true)
  59.          {
  60.             mLevel.mWorld.mGame.mHUD.mHealth -= _loc2_.mMaxLife / 10;
  61.             _loc2_.removeEventListener(CThingMain.REACHEDOBJECTIVE,e_ENEMY_REACHEDOBJECTIVE);
  62.          }
  63.       }
  64.       
  65.       private function e_DISPOSED(param1:Event = null) : void
  66.       {
  67.          var _loc2_:* = undefined;
  68.          _loc2_ = param1.currentTarget;
  69.          _loc2_.removeEventListener(CThingBase.DISPOSED,e_DISPOSED);
  70.          var _loc3_:*;
  71.          var _loc4_:* = (_loc3_ = ┬º┬ºfindproperty(mStageCount)).mStageCount - 1;
  72.          _loc3_.mStageCount = _loc4_;
  73.          mSpawnTick = 0;
  74.          ┬º┬ºpush(_loc4_ = (_loc3_ = ┬º┬ºfindproperty(mTotalCount)).mTotalCount + 1);
  75.          if(true)
  76.          {
  77.             _loc3_.mTotalCount = _loc4_;
  78.          }
  79.          if(┬º┬ºpop() == mTotalSpawns)
  80.          {
  81.             Dispose();
  82.          }
  83.       }
  84.       
  85.       public function Process() : int
  86.       {
  87.          if(true)
  88.          {
  89.             ┬º┬ºpush(mStageCount);
  90.             if(true)
  91.             {
  92.                ┬º┬ºpush(mStageAmount);
  93.                if(true)
  94.                {
  95.                   if(┬º┬ºpop() >= ┬º┬ºpop())
  96.                   {
  97.                      if(true)
  98.                      {
  99.                         ┬º┬ºpush(0);
  100.                         if(true)
  101.                         {
  102.                            return ┬º┬ºpop();
  103.                         }
  104.                         addr45:
  105.                         if(┬º┬ºpop() >= mSpawnRate)
  106.                         {
  107.                         }
  108.                         return mTotalSpawns - mTotalCount;
  109.                         addr60:
  110.                      }
  111.                      AddThing(new mInitClass(mSpawnPosition.Clone()));
  112.                      ┬º┬ºgoto(addr60);
  113.                   }
  114.                   else
  115.                   {
  116.                      var _loc2_:*;
  117.                      var _loc1_:*;
  118.                      ┬º┬ºpush(_loc2_ = (_loc1_ = ┬º┬ºfindproperty(mSpawnTick)).mSpawnTick + 1);
  119.                      if(true)
  120.                      {
  121.                         _loc1_.mSpawnTick = _loc2_;
  122.                      }
  123.                   }
  124.                }
  125.             }
  126.          }
  127.          ┬º┬ºgoto(addr45);
  128.       }
  129.       
  130.       public function AddThing(param1:*) : void
  131.       {
  132.          if(true)
  133.          {
  134.             var _loc2_:*;
  135.             var _loc3_:* = (_loc2_ = ┬º┬ºfindproperty(mStageCount)).mStageCount + 1;
  136.             if(true)
  137.             {
  138.                _loc2_.mStageCount = _loc3_;
  139.             }
  140.             if(true)
  141.             {
  142.                mSpawnTick = 0;
  143.                if(true)
  144.                {
  145.                   param1.mSelectable = true;
  146.                   if(true)
  147.                   {
  148.                      mLevel.mEnemyContainer.AddThing(param1);
  149.                   }
  150.                   param1.addEventListener(CThingMain.REACHEDOBJECTIVE,e_ENEMY_REACHEDOBJECTIVE);
  151.                }
  152.                param1.addEventListener(CThingBase.DEATH,e_DEATH);
  153.             }
  154.             param1.addEventListener(CThingBase.DISPOSED,e_DISPOSED);
  155.          }
  156.       }
  157.       
  158.       private function e_DEATH(param1:Event = null) : void
  159.       {
  160.          var _loc2_:* = undefined;
  161.          _loc2_ = param1.currentTarget;
  162.          _loc2_.removeEventListener(CThingBase.DEATH,e_DEATH);
  163.          if(_loc2_.mKilledBy)
  164.          {
  165.             mLevel.mWorld.mGame.mHUD.mFunds += _loc2_.mPrize;
  166.             CGlobal.IncrementStat("Enemy Kills");
  167.          }
  168.       }
  169.       
  170.       public function Dispose() : void
  171.       {
  172.          mDisposed = true;
  173.       }
  174.    }
  175. }
  176.